<?php

/**
 * This is the model class for table "book".
 *
 * The followings are the available columns in table 'book':
 * @property string $book_id
 * @property string $name
 * @property string $author
 * @property string $description
 * @property string $picture_url
 * @property string $isbn
 * @property integer $deleted
 * @property string $date_updated
 * @property string $date_created
 *
 * The followings are the available model relations:
 * @property Tag[] $tags
 * @property Land[] $lands
 * @property Member[] $members
 */
class Book extends BaseBook {

    public $image; // a könyvhöz tartozó borító.
    public $tagsString = 'Nincs címke megadva'; // a könyvhöz tartozó címkék felsorolva. Az alapértelmezett, hogy nincs címke, ekkor ez jelenik meg.
    
    /**
     * Itt lehet megadni az osztályhoz tartozó behavior-okat és ez a metódus 
     * visszaadja azok tömbjét.
     * @return array Az osztályhoz tartozó bahavior-ok tömbje.
     */
    public function behaviors() {

        return array(
            'TimeStampBehavior',
            'LogicalDeleteBehavior',
        );
    }
    
    /**
     * A könyvhöz tartozó címkéket összeállítja egy sztringbe vesszőkel 
     * elválasztva. Ha nincs megadva címke, akkor semmit nem csinál.
     */
    public function setTagsString(){
        foreach($this->tags as $tag) /*Lekérdezzük a könyvhöz tartozó címkéket és
        sorba végig megyünk rajtuk.*/
            if($this->tagsString === 'Nincs címke megadva') /*Amennyiben még a 
            $tagsString változóhoz nem adtunk hozzá egy címkét sem*/
                $this->tagsString = $tag->name; //értékül adjuk neki az elsőt.
            else
                $this->tagsString .= ', '.$tag->name; /*amennyiben már van a 
                $tagsString változóhoz hozzáadva tag, a többit vessszővel 
                elválasztva hozzá konkatenáljuk.*/
    }

}